package com.furtherstar.auth.service;

import java.util.List;

import com.furtherstar.auth.controller.dto.CorpQuery;
import com.furtherstar.auth.controller.dto.DeptTree;
import com.furtherstar.auth.controller.dto.DeptUserQuery;
import com.furtherstar.auth.dao.model.Corp;
import com.furtherstar.auth.dao.model.CorpDept;
import com.github.pagehelper.PageSerializable;
import com.yummy.web.security.bean.SimpleUser;

public interface CorpDeptService {

	List<Corp> queryCorpList(CorpQuery corpQuery);

	List<Corp> getAvailableCorpList(CorpQuery corpQuery);

	List<DeptTree> getAllCorpDeptTree();

	List<DeptTree> getAvailableCorpDeptTree(Long corpId);

	List<DeptTree> getCorpDeptTree(Long corpId);

	CorpDept getDept(Long deptId);

	Long add(CorpDept dept);

	Long update(CorpDept dept);

	Long enable(Long deptId);

	Long disable(Long deptId);

	Boolean delete(Long deptId);

	PageSerializable<SimpleUser> queryDeptUsers(DeptUserQuery deptUserQuery);

	Long addCorp(Corp corp);

	Long updateCorp(Corp corp);

	Long enableCorp(Long corpId);

	Long disableCorp(Long corpId);

	Boolean deleteCorp(Long corpId);

}
